package com.polaris.live.resp.go_resp

import com.polaris.live.common.AppModule
import com.polaris.live.common.constant.AppConst
import com.polaris.live.resp.go_resp.device.AbstractConfigEnvBean

/**
 * GoConfigPreBean
 *
 * @author Created by 半仙 on 2023/9/4/004 14:25
 */
data class GoConfigPreBean(
    /**
     * 平台类型
     */
    override val platformType: Int = AppConst.PLATFORM_TYPE,
    /**
     * 应用类型
     */
    override val appType: Int = AppConst.APP_TYPE,
    /**
     * 马甲类型
     */
    override val variantType: Int = AppConst.VARIANT_TYPE,
    /**
     * 应用版本
     */
    override val appVersion: String = AppModule.getVersionName(),
    /**
     * 编译版本
     */
    override val buildVersion: Int = AppModule.getAppVersion(),
    /**
     * 设备型号
     */
    override val osModel: String = AppModule.getOsModel(),
    /**
     * 系统版本
     */
    override val osVersion: String = AppModule.getOsVersion(),
    /**
     * 语言
     */
    override val language: String = AppModule.getLanguage(),
    /**
     * 唯一码
     */
    override val uniqueId: String? = AppModule.getUniqueDeviceId(),
    /**
     * 客户端生成id
     *
     * android不可为空
     */
    override val uuid: String = AppModule.getMyUUID().toString(),
    /**
     * google广告标识
     */
    override val gaid: String? = AppModule.getGoogleAdId(),
    /**
     * 设备id
     *
     * android不可为空
     */
    override val deviceId: String = AppModule.getDeviceId(),
    /**
     * 数字版权id
     */
    override val widevineId: String? = AppModule.getWidevineId(),
    /**
     * 是否为平板
     */
    override val tablet: Int = AppModule.isTablet(),
    /**
     * 是否为模拟器
     */
    override val simulator: Int = AppModule.isEmulator(),
    /**
     * 是否使用vpn
     */
    override val useVpn: Int = AppModule.checkVPN(),
    /**
     * 代理的vpn地址，一般是内网地址
     */
    override val vpnAddress: String? = AppModule.getProxyAddress(),
    /**
     * 是否已经root
     */
    override val useRoot: Int = AppModule.isAppRoot(),
    /**
     * 是否开启debug调试
     */
    override val useDebug: Int = AppModule.isAppDebug(),
    /**
     * 是否允许模拟位置
     */
    override val mockLocation: Int = AppModule.isMockLocation(),
    /**
     * 时区
     */
    override val timezone: String = AppModule.getCurrentTimeZone().toString(),
    /**
     * 语言国家
     */
    override val languageCountry: String = AppModule.getLanguageCountry(),
    /**
     * 移动设备国家代码
     */
    override val mcc: String? = AppModule.getMcc(),

    /**
     * 移动设备网络代码
     */
    override val mnc: String? = AppModule.getMnc(),
    /**
     * 网络运营商名称
     */
    override val networkName: String? = AppModule.getNetworkName()
) : AbstractConfigEnvBean()


